package com.yungu.swift.order.service;

import com.yungu.swift.base.ResponseData;
import com.yungu.swift.base.service.BaseService;
import com.yungu.swift.order.model.dto.OrderComplainDto;
import com.yungu.swift.order.model.param.AdminOrderComplainParam;
import com.yungu.swift.order.model.vo.ApiComplainVo;

import java.util.List;
import java.util.Map;


/**
 * OrderComplainService
 **/

public interface OrderComplainService extends BaseService<OrderComplainDto> {


    /**
     * 查询司机在工作时间内，被投诉的总数
     *
     * @param params 参数
     * @return Integer
     */
    ResponseData<Integer> countDriComplain(Map<String, Object> params);

    /**
     * 根据订单uuid获取订单的投诉状态
     *
     * @param orderUuid          订单uui
     * @param respondentIdentity 被投诉方身份 1 乘客 2 司机
     * @return Map
     */
    ResponseData<ApiComplainVo> findComplantStatus(String orderUuid, int respondentIdentity);

    /**
     * 处理
     *
     * @param orderComplainParam 处理投诉参数
     */
    ResponseData<Boolean> handle(AdminOrderComplainParam orderComplainParam);

    /**
     * 订单投诉行程录音获取
     *
     * @param orderUuid
     * @return
     */
    ResponseData<String> getTripRecording(String orderUuid);


    /**
     * 获取投诉列表
     *
     * @param map
     * @return
     */
    ResponseData<List<OrderComplainDto>> getList(Map map);
}
